//
//  RBEmptyDataListController.h
//  RMMaterialRed
//
//  Created by XBWH on 2024/3/12.
//

#import "RBBaseViewController.h"

typedef enum : NSUInteger {
    LoadingStateNormal,         //正常状态/未知状态
    LoadingStateUnKnownError,   //未知错误
    LoadingStateNoNetwork,      //没有网络
    LoadingStateNoNetworkNoReload, //没有网络,且不显示刷新
    LoadingStateNoData,         //没有数据
} LoadingState;

NS_ASSUME_NONNULL_BEGIN

@interface RBEmptyDataListController : RBBaseViewController<DZNEmptyDataSetSource,DZNEmptyDataSetDelegate>
///当前滑动view : tableView / collectionview / scrollView
@property (nonatomic, copy) UIScrollView *aimView;
///空数据提示语
@property (nonatomic, copy) NSString *emptyDataText;
///空数据详情提示语
@property (nonatomic, copy) NSString *emptyDataDetailText;
///空数据提示语文字属性
@property (nonatomic, copy) NSDictionary<NSAttributedStringKey, id> *emptyDataTextAtt;
///空数据图片名称
@property (nonatomic, copy, nullable) NSString *emptyDataImageName;
///无网络图片名称
@property (nonatomic, copy, nullable) NSString *noNetworkImageName;
///无网络提示文字
@property (nonatomic, copy, nullable) NSString *noNetworkText;
///无网络提示文字是否显示
@property (nonatomic, assign) BOOL isShowNoNetworkText;
///是否需要刷新
@property (nonatomic, assign) BOOL isShowRefresh;
///刷新按钮是否显示
@property (nonatomic, assign) BOOL isShowLoadBtn;
///刷新按钮文字
@property (nonatomic, copy, nullable) NSString *loadBtnText;
///刷新按钮回调
@property (nonatomic,copy) void(^reloadButtonCallbackBlock)(void);
///加载状态
@property (nonatomic, assign) LoadingState loadingState;
///下拉刷新
- (void)pullDownRefreshLoadData NS_REQUIRES_SUPER;
///上拉刷新
- (void)pullUpRefreshLoadData;
@end

NS_ASSUME_NONNULL_END
